#ifndef CHARACTER_H
#define CHARACTER_H

#include "state.h"
#include <string>

class State;

class AICHARACTER {
	State *mPcurstate;
	int gold;
	int money;
	int fatigue;
	int rest;
	int location;
	int thirst;
	std::string name;
public:
	AICHARACTER(){}
	AICHARACTER(std::string theName);
	bool isPoketFull() { return gold >= kMaxNugget; }
	std::string getName() {return name; }
	int getLocation() {return location; }
	int getMoney() { return money; }
	int getGold() {return gold;}
	void addGold(int g) {gold += g;}
	void setGoldCarried(int g) {gold = g; }
	bool isFatigue() { return fatigue >= kMaxFatigue; }
	bool isThirsty() { return thirst >= kMaxThirst; }
	bool isRich() { return money >= kMaxMoney; }
	bool isRested() { return rest >= kMaxRest; }
	void increaseFatigue() { fatigue++; }
	void decreaseFatigue() { fatigue--; }
	void addWealth(int g) { money += g; if(money < 0) money = 0; }
	void buyAndDrinkWhiskey() { thirst = 0; money -= 2; }
	void update();
	void changeState(State *pNewState);
	void changeLocation(int l) {location = l;}

};

#endif

